home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 43 / Amiga Format CD43 (1999)(Future Publishing)(GB)(Track 1 of 2)[!][issue 1999-09].iso / -serious- / hardware / camedia / camedia.readme < prev    next >
Text File  |  1999-06-14  |  10KB  |  241 lines

  1. Short:    transfers pictures from digital camera (Olympus Camedia) to Amiga
  2. Uploader: afleuti@iiic.ethz.ch (Andreas Patrick Fleuti)
  3. Author:   afleuti@iiic.ethz.ch (Andreas Patrick Fleuti)
  4. Version:  0.4 beta
  5. Type:     comm/misc
  6.  
  7. This is the second beta version of Camedia.
  8. Camedia is a the name of my digital camera from Olympus.
  9. To be precise, it's name is Camedia C-900 Zoom, in US, the same camera is called 400Z.
  10.  
  11.  
  12. What does the program:
  13. ----------------------
  14. - copy the pictures from the camera to the computer
  15. - shows some infos about the camera and it's pictures
  16. - shows a preview
  17.  
  18.  
  19. What's new:
  20. -----------
  21.  
  22. 0.4 beta
  23. Implemented new commands like 
  24. - TAKE_PICTURE, which asks the camera to take a picture, 
  25. - THUMBNAILS, is like RETR (retrieve) but instead of the big_picture, the camera sends a tiny one
  26.   (my jpeg.datatype was unable to load that tiny jpeg picture, but PhotoAlbum could do it)
  27. - DEL, which deletes pictures (* be careful about that, You won't get asked if You are sure! *)
  28.  
  29. I also changed the code from C++ back to C and here are the reasons why:
  30. The StormC compiler was UNABLE to compile my code. This behavior (this bug) is known, but
  31. there is no fix for it. This way, in C, everybody can extend my code with StormC without hoping the
  32. compiler will be nice as it was in C++.
  33. The bad news (just for programmers) is that they must take care of my own implementaion of try/catch 
  34. which is easy to understand. Also the functionoverloading (dump) was changed because of C.
  35.  
  36.  
  37. 0.3 beta
  38. The hardcoded DisplayID is gone. So the PREVIEW mode shows each time a screen mode requester.
  39. The restriction to true color mode is still there (16Bit, 24Bit works, I guess 15Bit too).
  40.  
  41. Fixed the unit-bug. Even You set the unit, the 0.2 beta version always used unit 0.
  42.  
  43. The source code is freely available. I decided to make it public, so everybody can enjoy it more.
  44. [Take a look at the infos about the source code at the end of this file]
  45.  
  46. 0.2 beta
  47. You don't need any longer 600 KB free memory.
  48. The memory requirements are about 50 KB when retrieving pictures or using the info function.
  49. When using the preview function, You need about 300 KB, Cybergraphics, jpeg.library and a 24Bit Graphic-Board.
  50.  
  51. The old restriction using the serial.device at 57600 Baud is obsolote.
  52. You can set the device, the unit and the speed (9600, 19200, 38400, 57600 or 115200).
  53.  
  54. You can choose, which picture you like to retrive (from x to y).
  55.  
  56. You can set the name, the retrieved picture should have.
  57. The camera saves for each picture when it was taken. This is saved (as before) in the comment.
  58. However, if this date doesn't make real sense, the comment will be set to "No Date" (that's new).
  59.  
  60. There is an info function. This shows you many information about your camera, and the stored pictures.
  61.  
  62. A preview function, which turns your camera into a (inexpensive ?) video camera.
  63. This way, You can watch yourself at your display :) 
  64. To use this feature, you need:
  65. - about 300 KB memory for the program (plus some more for the 24 Bit screen)
  66. - jpeg.library, which can be found at Aminet
  67. - Cybergraphics
  68. - a graphic card, which has the DisplayID  0x40120051 (24Bit, 640x480, Cybervision?)
  69. P.S. (BestCModeIDTags() seems not work for me...that's why DisplayID is hardcoded) 
  70.  
  71. You are able to retrieve uncompressed pictures. The old version crashes when you try to get 
  72. uncompressed pictures! the uncompressed pictures will be saved in tiff, but it's filename ends with
  73. .jpeg - next version will be better :)
  74.  
  75.  
  76. Requirements: 
  77. -------------
  78. OS 3.0 or higher (should work with OS 2.1 as well)
  79. normaly about 50 KB free memory
  80. a Camedia digital camera from Olympus
  81.  
  82.  
  83. for the preview function, you need:
  84. -----------------------------------
  85. about 300 KB memory for the program (plus some more for the true color screen)
  86. jpeg.library, which can be found at Aminet
  87. Cybergraphics
  88. a graphic card
  89.  
  90.  
  91.  
  92. How to use this software:
  93. ------------------------
  94. - Connect the camera to the serial port and turn the camera on.
  95.  
  96. - Open a shell where you have access to the program Camedia.
  97.  
  98.  
  99. INFO:
  100. =====
  101. - type "Camedia INFO" to get infos about your camera
  102.  
  103.  
  104. RETR:
  105. =====
  106. - type "Camedia RETR" to get all pictures, which will be stored localy.
  107.   The pictures will have the name "picture_1.jpeg", "picture_2.jpeg" and so on.
  108.   
  109. - type "Camedia RETR from 3" to get the pictures 3, 4, and so on 
  110.  
  111. - type "Camedia RETR from 3 to 5" to get the pictures 3, 4 and 5
  112.  
  113. - type "Camedia RETR from 3 to 3" to get only the picture 3.
  114.  
  115. - type "Camedia RETR to 3" to get the picture 1, 2 and 3.
  116.  
  117. THUMBAILS:
  118. ==========
  119. This behaves exactly like RETR except that it get thumbnails instead of the big pictures.
  120.  
  121. - type "Camedia THUMBAILS" to get all thumbnails (tiny pictiures), which will be stored localy.
  122.   The thumbails will have the name "picture_1.jpeg", "picture_2.jpeg" and so on.
  123.  
  124. DEL:
  125. ====
  126. This behaves exactly like RETR except that it will delete instead of getting the big pictures.
  127. WARNING: The software won't ask you if you realy like to delete the picture in the camera, so be careful.
  128.  
  129.  
  130. Options for RETR or THUMBNAILS:
  131. -------------------------------
  132. - type "Camedia RETR Name my_name" to get all picture, which will get the name 
  133.   "my_name_1.jpeg", "my_name_2.jpeg" and so on.
  134.  
  135.  
  136. Note:
  137. ----
  138. If You have an uncompressed picture, then it will be saved in the format tiff.
  139. However, the filename ends with .jpeg. Next release will be better :)
  140.  
  141. Make sure you have enough disk space for the pictures. The disk should be reasonable fast
  142. (so if You wanna use floppy, ok, but then make sure, no other program access the floppy).
  143.  
  144. PREVIEW:
  145. ========
  146. - type "Camedia PREVIEW" to use your camera as a video camera.
  147.   You can resize the window. To quit, close the window.
  148.  
  149.  
  150. Important options:
  151. ==================
  152. In all the modes (INFO, THUMBNAILS, RETR, DEL and PREVIEW), you can set device, the devie unit and the speed.
  153.  
  154. - type "Camedia DEVICE my_serial.device UNIT 0 SPEED 115200 RETR" to get all pictures.
  155.  
  156.  
  157. Notes:
  158. -----
  159. The program will NOT delete the pictures in the camera when You just retrieve the pictures.
  160. However, in the mode DEL (delete), the program DOES delete the pictures in the camera.
  161. If You like to stop the program, do a CTRL-C or CTRL-F.
  162.  
  163.  
  164. Problems:
  165. --------
  166. If there is a problem, You will get some hints, but they are mainly useful for
  167. me, maybe not so much for You.
  168. Reading from the camera fails sometimes when
  169. - You type some text during the program tries to make some output on the console *
  170. - You press the right mouse button very long
  171. - Your computer is very busy
  172. - the batteries of Your camera are too low **
  173.  
  174. * when You type some text in the console, the program might can't go on.
  175.   Cause the camera will disconnect after a while (maybe five seconds), when not
  176.   retrieving any data from the computer, You shouldn't type in the console the
  177.   program is running.
  178.  
  179. ** Well, right now, that's Your task. In future, I might will warn You "batteries
  180.    are low", cause I can read the capacity of the batteries with a command.
  181.    
  182. -----------------------------------------------------------------------------------------------
  183.    Important: If you have any problem (like timeout), make sure to put fully charged batteries
  184.               in your camera. If you still have problem, e-mail me.
  185. -----------------------------------------------------------------------------------------------
  186.  
  187.  
  188. Must it be a Camedia digital camera from Olympus?
  189. ------------------------------------------------
  190. The protocol to communicate with digital cameras seems to be very much the same
  191. for many cameras like Fuji, Epson, Sanjo, Agfa and Olympus.
  192. The problem is the protocol is NOT official available, but there is some good
  193. information at:
  194. http://www.average.org/digicam/
  195.  
  196. So probably, this program works also with other digital cameras. Please tell me Your
  197. experiences.
  198.  
  199.  
  200. Is the program dangerous for my camera?
  201. --------------------------------------
  202. Of course I don't guarantee anything, except that it worked for me five minutes ago.
  203. I played a lot with my camera, and sometimes I got strange behaviors. Till today, I
  204. was unable to destroy or damage my camera by sending commands to it.
  205. To make a conclusion out of my experiences is up to Your risk.
  206.  
  207.  
  208. Infos about the source code
  209. ---------------------------
  210.  
  211. The source code is split up in two parts.
  212. Camedia.c has many nice functions, it does the communication and some more.
  213. camprg.c is an example how to use the functions in Camedia.c
  214.  
  215. Camedia.h is pretty important, cause all constants, definitions and prototypes are set there.
  216.  
  217. Please study http://www.average.org/digicam/ 
  218. There you can find many infos about how the protocol looks like. You don't neet this infos,
  219. but of course it helps a lot. To get an overview of the available register, it's helpful.
  220.  
  221. There are two ways to use Camedia.c's function. 
  222. The easy way is to use the Set_XXX(...) and Get_XXX(...) functions.
  223. These functions are wrappers to make your life easier (I hope so :)
  224. The other way to use Camedia.c's function is more direct.
  225. For that, You have only these four functions:
  226.  
  227. void SetIntegerRegister(enum Command_0, L4, error_msg);
  228. void ReadIntegerRegister(enum Command_1, L4 *, error_msg);
  229. void TakeAction(enum Action_Code action, L1 arg, error_msg);
  230. void ReadVDataRegister(enum Command_4, L1 *, L4 *, error_msg);
  231.  
  232. There should be a fifth function, but I did't implement this one:
  233. (NOT implemented yet: void SetVDataRegister(enum Command_3, L1 *, L4);  )
  234.  
  235. the error_msg is of type char*. It's used instead of try and catch. Whenever a error occured in the
  236. function, it will return AND it will have an explaining message in error_msg, which You can and maybe
  237. should printf("%s\n", error_msg);
  238.  
  239. The code itself should be clear.
  240. The 'not so nice' part of Camedia.h is the macro definition (header files shouldn't contain code...)
  241.